//
// Description: 5187. 收集足够苹果的最小花园周长
// Created by Loading on 2021/8/1.
//

#include <bits/stdc++.h>

using namespace std;

long long minimumPerimeter(long long neededApples) {
    // 边长
    long long n = 2;
    // 苹果总数
    long long apples = 12;
    // 最外圈苹果数
    long long last = 12;

    while (apples < neededApples) {
        /* 外层的元素，除去四个角之外，其他元素都是内层对应元素 + 1 */
        /* 注意：内层的四个角扩展完成后是 8 个元素 */
        /* 所以，最外层元素由以下三部分组成 */

        // 更新最外圈苹果数
        /* last + n * 4 表示内层扩展后的元素和（仅包含四个角扩展后的 4 个） */
        /* 4 * (n + 1) 表示内层四个角扩展后的剩余四个元素和 */
        /* 4 * (n + 2) 表示扩展后的四个角的元素和 */
        last = (last + n * 4) + (4 * (n + 1)) + (4 * (n + 2));
        // 更新苹果总数
        apples += last;
        n += 2;
    }

    return n * 4;
}

int main() {
    long long neededApples = 1000000000;
    cout << minimumPerimeter(neededApples) << endl;
}